package com.dreamder.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name = "T_DRD_MENSAGEM")
@SequenceGenerator(name = "mensagemSeq", sequenceName = "SEQ_DRD_MENSAGEM", allocationSize = 1)
public class Mensagem  implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -615925869560242760L;

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "mensagemSeq")
	@Column(name = "id_mensagem")
	private Long id;
	
	@Column(name = "mensagem", nullable = false, length = 255)
	private String mensagem;
	
	@ManyToOne
	@JoinColumn(name="id_chat")
	private Chat chat;
	
	@ManyToOne
	@JoinColumn(name="id_usuario")
	private Usuario remetente;
	
	public Mensagem() {
	}
	
	public Mensagem(Usuario remetente, String mensagem) {
		this.remetente = remetente;
		this.mensagem = mensagem;
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the remetente
	 */
	public Usuario getRemetente() {
		return remetente;
	}

	/**
	 * @param remetente the remetente to set
	 */
	public void setRemetente(Usuario remetente) {
		this.remetente = remetente;
	}

	/**
	 * @return the mensagem
	 */
	public String getMensagem() {
		return mensagem;
	}

	/**
	 * @param mensagem the mensagem to set
	 */
	public void setMensagem(String mensagem) {
		this.mensagem = mensagem;
	}

	/**
	 * @return the chat
	 */
	public Chat getChat() {
		return chat;
	}

	/**
	 * @param chat the chat to set
	 */
	public void setChat(Chat chat) {
		this.chat = chat;
	}
	
}
